package br.edu.sistemaacademico.pojo;

import java.util.Date;

import br.edu.sistemaacademico.Memento.Memento;

public class Professor extends Pessoa {

	private String ctps;
	private String graducao;
	private String especializacao;
	private String mestrado;
	private String doutorado;
	private Date anoEntrada;
	private Date anoSaida;

	public String getCtps() {
		return this.ctps;
	}

	public void setCtps(String ctps) {
		this.ctps = ctps;
	}

	public String getGraducao() {
		return this.graducao;
	}

	public void setGraducao(String graducao) {
		this.graducao = graducao;
	}

	public String getEspecializacao() {
		return this.especializacao;
	}

	public void setEspecializacao(String especializacao) {
		this.especializacao = especializacao;
	}

	public String getMestrado() {
		return this.mestrado;
	}

	public void setMestrado(String mestrado) {
		this.mestrado = mestrado;
	}

	public String getDoutorado() {
		return this.doutorado;
	}

	public void setDoutorado(String doutorado) {
		this.doutorado = doutorado;
	}

	public Date getAnoEntrada() {
		return anoEntrada;
	}

	public void setAnoEntrada(Date anoEntrada) {
		this.anoEntrada = anoEntrada;
	}

	public Date getAnosaida() {
		return anoSaida;
	}

	public void setAnosaida(Date anosaida) {
		this.anoSaida = anosaida;
	}

	@Override
	public Pessoa clone() {
		return new Professor();
	}
	
	public Memento save(){
		return new Memento(this);
	}
	public void restore(Memento memento){
		Professor p = (Professor) memento.getMemento();
		this.id = p.getId();
		this.cpf = p.getCpf();
		this.endereco = p.getEndereco();
		this.nascimento = p.getNascimento();
		this.nome = p.getNome();
		this.rg = p.getRg();
		this.sexo = p.getSexo();
		this.telefone = p.getTelefone();
		this.anoEntrada = p.getAnoEntrada();
		this.anoSaida = p.getAnosaida();
		this.ctps = p.getCtps();
		this.doutorado = p.getDoutorado();
		this.especializacao = p.getEspecializacao();
		this.graducao = p.getGraducao();
		this.mestrado = p.getMestrado();
	}

}